<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>博客编辑</title>

    <!-- 引入自己写的样式 -->
    <link rel="stylesheet" href="css/conmmon.css">
    <link rel="stylesheet" href="css/blog_edit.css">

    <!-- 引入 editor.md 的依赖 -->
    <link rel="stylesheet" href="editor.md/css/editormd.min.css" />
    <script src="js/jquery.min.js"></script>
    <script src="editor.md/editormd.js"></script>
    <script src="https://unpkg.com/turndown/dist/turndown.js"></script>
</head>

<body>
    <!-- 导航栏 -->
    <div class="nav">
        <img src="img/doge.jpg" alt="">
        <span class="title">我的博客系统</span>
        <!-- 用来占据中间位置 -->
        <span class="spacer"></span>
        <!--<a href="blog_list.html">主页</a>-->
        <a href="blog_edit.html">写博客</a>
        <!-- <a href="#">注销</a> -->
    </div>
    <!-- 编辑框容器 -->
    <div class="blog-edit-container">
        <!-- 标题编辑区 -->
        <div class="title">
            <input id = "title" name = "title" type="text" placeholder="在这里写下文章标题"> <!--此处加上id和name标签-->
            <button onclick="mysub()">发布文章</button>
        </div>
        <!-- 创建编辑器标签 -->
        <div id="editorDiv"></div>
    </div>

    <script src = "js/mytools.js"></script>

    <script>

        //初始化编辑器
        var editor;
        //editormd("editorDiv", {
        //     // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉.
        //     width: "100%",
        //     // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
        //     height: "calc(100% - 50px)",
        //     // 编辑器中的初始内容
        //     markdown: "",
        //     // 指定 editor.md 依赖的插件路径
        //     path: "editor.md/lib/",
        //     saveHTMLToTextarea:true //
        // });

        //拿到文章id
        var id = getParamKey("id");
        //拿到文章的uid
        var uid = getParamKey("uid");

        //获取文章详情
        if(id != null && id > 0) {
            //请求后端接口方法查询文章和用户信息
            jQuery.getJSON("/api/article/getdetail", {"id": id}, function (data) {
                // var editor = 0;
                if (data != null && data.status == 0 && data.data.id > 0) {
                    // 创建 html 转换成 markdown 对象
                    var turndownService = new TurndownService();
                    //对文章和用户信息进行动态赋值
                    var detail = data.data;
                    jQuery("#title").val(detail.title);
                    // editor.setMarkdown("# 1234");
                    // editor.setValue("# 333");
                    //editor.appendMarkdown("# 444");
                    // alert(detail.title);
                    editor = editormd("editorDiv", {
                        // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉.
                        width: "100%",
                        // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
                        height: "calc(100% - 50px)",
                        // 编辑器中的初始内容
                        markdown: turndownService.turndown(detail.content),
                        // 指定 editor.md 依赖的插件路径
                        path: "editor.md/lib/",
                        saveHTMLToTextarea:true //
                    });
                    // var content = detail.content;
                    // var editor = editormd("editorDiv", {
                    //     // 这里的尺寸必须在这里设置. 设置样式会被 editormd 自动覆盖掉.
                    //     width: "100%",
                    //     // 高度 100% 意思是和父元素一样高. 要在父元素的基础上去掉标题编辑区的高度
                    //     height: "calc(100% - 50px)",
                    //     // 编辑器中的初始内容
                    //     markdown: ""+content+"",
                    //     // 指定 editor.md 依赖的插件路径
                    //     path: "editor.md/lib/",
                    //     saveHTMLToTextarea:true //
                    // });
                } else {
                    alert("操作失败请重新操作")
                }

            });

            function mysub(){
                //在写文章页面拿到文章标题
                var title = jQuery("#title").val();  //对input取值时直接.val()就可以了
                //拿到文章内容
                var content = editor.getHTML();
                //alert(content);
                //将当前页面的内容提交给后端，todo:先进行非空效验
                jQuery.getJSON("/api/article/update",{"title":title,"content":content,"id":id},function(data){
                    if(data != null &&  data.data != null ){
                        alert("修改文章成功！")
                        location.href = "myblog_list.html?uid="+uid; //跳转到当前用户的文章列表
                    }else{
                        alert("操作失败！请重新尝试")
                    }
                });
                //alert(editor.getHTML());
            }
        }



    </script>
</body>

</html>